const path=require('path');
const htmlWebpackPlugin = require("html-webpack-plugin");
const vueLoaderPlugin = require("vue-loader/lib/plugin");
module.exports={
    entry:path.join(__dirname,'./src/main.js'),//入口文件
    //输出路径以及文件名字
    output:{
        path:path.join(__dirname,'./dist'),
        filename:"bundle.js"
    },
    //配置loader
    module:{
        rules:[
            {test:/\.css$/,use:['style-loader','css-loader']},
            {test:/\.less$/,use:['style-loader','css-loader','less-loader']},
            {test:/\.scss$/,use:['style-loader','css-loader','sass-loader']},
            {test:/\.(jpg|png|gig|bmp|jpeg)$/,use:['url-loader?limit=1000&name=[hash]-[name].[ext]']},
            {test:/\.(eot|svg|ttf|woff|woff2)$/,use:['url-loader']},
            {test:/\.js$/,use:['babel-loader'],exclude:/node_modules/},
            {test:/\.vue$/,use:['vue-loader']}

        ]
    },
    plugins:[
         //用来生成内存中的html页面
         new htmlWebpackPlugin({
            template:path.join(__dirname,"./src/index.html"),
            filename:"index.html"
        }),
        new vueLoaderPlugin()
    ],
    //设置模式，开发模式和生产模式只能配置一个
    mode:"development",
    //只在内存中打包，不会输出，启动命令为webpack-dev-server
    devServer:{
        contentBase:path.join(__dirname,"src"),
        compress:true,
        port:3000,
        open:true,
        hot:true//局部刷新
    }
}